home *** CD-ROM | disk | FTP | other *** search
/ Freelog 125 / Freelog_MarsAvril2015_No125.iso / ViePratique / ArchiFacile / ArchiFacileSetup.exe / {app} / nw.pak / Unnamed File 001139.txt < prev    next >
Text File  |  2014-10-14  |  3KB  |  90 lines

  1. // Copyright (c) 2013 The Chromium Authors. All rights reserved.
  2. // Use of this source code is governed by a BSD-style license that can be
  3. // found in the LICENSE file.
  4.  
  5. cr.define('indexeddb', function() {
  6.   'use strict';
  7.  
  8.   function initialize() {
  9.     chrome.send('getAllOrigins');
  10.   }
  11.  
  12.   function progressNodeFor(link) {
  13.     return link.parentNode.querySelector('.download-status');
  14.   }
  15.  
  16.   function downloadOriginData(event) {
  17.     var link = event.target;
  18.     progressNodeFor(link).style.display = 'inline';
  19.     chrome.send('downloadOriginData', [link.idb_partition_path,
  20.                                        link.idb_origin_url]);
  21.     return false;
  22.   }
  23.  
  24.   function forceClose(event) {
  25.     var link = event.target;
  26.     progressNodeFor(link).style.display = 'inline';
  27.     chrome.send('forceClose', [link.idb_partition_path,
  28.                                link.idb_origin_url]);
  29.     return false;
  30.   }
  31.  
  32.   function withNode(selector, partition_path, origin_url, callback) {
  33.     var links = document.querySelectorAll(selector);
  34.     for (var i = 0; i < links.length; ++i) {
  35.       var link = links[i];
  36.       if (partition_path == link.idb_partition_path &&
  37.           origin_url == link.idb_origin_url) {
  38.         callback(link);
  39.       }
  40.     }
  41.   }
  42.   // Fired from the backend after the data has been zipped up, and the
  43.   // download manager has begun downloading the file.
  44.   function onOriginDownloadReady(partition_path, origin_url, connection_count) {
  45.     withNode('a.download', partition_path, origin_url, function(link) {
  46.       progressNodeFor(link).style.display = 'none';
  47.     });
  48.     withNode('.connection-count', partition_path, origin_url, function(span) {
  49.       span.innerText = connection_count;
  50.     });
  51.   }
  52.  
  53.   function onForcedClose(partition_path, origin_url, connection_count) {
  54.     withNode('a.force-close', partition_path, origin_url, function(link) {
  55.       progressNodeFor(link).style.display = 'none';
  56.     });
  57.     withNode('.connection-count', partition_path, origin_url, function(span) {
  58.       span.innerText = connection_count;
  59.     });
  60.   }
  61.  
  62.   // Fired from the backend with a single partition's worth of
  63.   // IndexedDB metadata.
  64.   function onOriginsReady(origins, partition_path) {
  65.     var template = jstGetTemplate('indexeddb-list-template');
  66.     var container = $('indexeddb-list');
  67.     container.appendChild(template);
  68.     jstProcess(new JsEvalContext({ idbs: origins,
  69.                                    partition_path: partition_path}), template);
  70.  
  71.     var downloadLinks = container.querySelectorAll('a.download');
  72.     for (var i = 0; i < downloadLinks.length; ++i) {
  73.       downloadLinks[i].addEventListener('click', downloadOriginData, false);
  74.     }
  75.     var forceCloseLinks = container.querySelectorAll('a.force-close');
  76.     for (i = 0; i < forceCloseLinks.length; ++i) {
  77.       forceCloseLinks[i].addEventListener('click', forceClose, false);
  78.     }
  79.   }
  80.  
  81.   return {
  82.     initialize: initialize,
  83.     onForcedClose: onForcedClose,
  84.     onOriginDownloadReady: onOriginDownloadReady,
  85.     onOriginsReady: onOriginsReady,
  86.   };
  87. });
  88.  
  89. document.addEventListener('DOMContentLoaded', indexeddb.initialize);
  90.